//#include <stdio.h>
//
//int main() 
//{
//    int v1, v2, v3;
//    int a1, a2, a3;
//
//    scanf_s("%d %d %d", &v1, &v2, &v3);
//    scanf_s("%d %d %d", &a1, &a2, &a3);
//
//    int tianji[3] = { a1, a2, a3 };
//
//    int orders[6][3] =
//    {
//        {0, 1, 2}, 
//        {0, 2, 1}, 
//        {1, 0, 2}, 
//        {1, 2, 0},
//        {2, 0, 1}, 
//        {2, 1, 0} 
//    };
//
//    for (int i = 0; i < 6; i++)
//    {
//        int win = 0;
//        if (tianji[orders[i][0]] > v1) win++;
//        if (tianji[orders[i][1]] > v2) win++;
//        if (tianji[orders[i][2]] > v3) win++;
//
//        if (win >= 2) 
//        {
//            printf("Yes\n");
//            return 0;
//        }
//    }
//    printf("No\n");
//    return 0;
//}

//#include <stdio.h>
//
//int main() 
//{
//    int arr[5];
//    for (int i = 0; i < 5; i++)
//    {
//        scanf_s("%d", &arr[i]);
//    }
//
//    for (int i = 0; i < 5; i++) 
//    {
//        if (arr[i] == 1) 
//        {
//            printf("%d", i + 1);
//            break;
//        }
//    }
//
//    return 0;
//}

#include <stdio.h>
#include <limits.h>

int main()
{
    int n;
    scanf_s("%d", &n); 

    if (n % 2 != 0) 
    {
        printf("-1");
        return 0;
    }

    int minBags = INT_MAX; 
    int found = 0; 

    for (int y = 0; y <= n / 8; y++) 
    {
        int remaining = n - 8 * y; 

        if (remaining >= 0 && remaining % 6 == 0)
        {
            int bags = y + remaining / 6; 
            if (bags < minBags) 
            {
                minBags = bags;
                found = 1;
            }
        }
    }

    if (found) 
    {
        printf("%d", minBags);
    }
    else {
        printf("-1");
    }

    return 0;
}